Skip to content

fix(aggregator): Command Code quota reads use the latest dated plan read (#3410) - #3413

Merged
dezren39 merged 2 commits into
mainfrom
queue/5251-3410-commandcode-windows
Nov 1, 2026
Merged

dezren39 merged 2 commits into
mainfrom
queue/5251-3410-commandcode-windows

Conversation

@dezren39

@dezren39 dezren39 commented Nov 1, 2026 •

Copy link
Copy Markdown
Member

Summary

Implements Drew's 2026-11-01 ruling (#3410) in extractCommandCode (pm-stack/aggregator/src/quota-extract.ts): Command Code quota reads report the plan windows only — monthly limit, weekly, 5-hour — never the top-up credit balance.

Before: the extractor took the first $X of $Y used match in the section, so /api/quota.json presented the stale 2026-10-25 read ($6.57/$10, 5h 1.2%, weekly 8.8%) as current — the freshest read (2026-10-27 console: monthly 69%, weekly 14%, 5h 0%) is percentage-only and never matched.

Now:

  • The section is segmented at ISO date stamps and the latest dated read wins, in any recorded format: dollar ($X of $Y used + 5h A%, weekly B%), percentage-only console (monthly limit N% used / weekly limit N% / 5-hour limit N%), or its compact restatement (monthly N%, weekly N%, 5h N%).
  • A newer dated segment carrying a monthly figure no format can parse renders no windows instead of a stale read.
  • No code path emits the top-up balance as quota (the balance-only case yields no windows; the dollar window remains the monthly-limit "$ used of the $10 included credits" figure the ruling allows).

Evidence

  • New regression tests in test/quota.test.ts pin: latest-dated-read selection across a multi-read section, the unparseable-freshest case, and balance-never-quota.
  • bun test test/quota.test.ts test/quota-current.test.ts: 50 pass. Full aggregator suite: 795 pass / 0 fail.
  • Live check against the current quota view's Command Code section: commandcode:go windows = monthly 69%, weekly 14%, 5-hour 0% — the 2026-10-27 console read, as the acceptance requires.

Queue task 5251 (repo-health-code-pilot). Closes #3410.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

repo-worker-code added 2 commits November 1, 2026 02:04
…ead (#3410)

extractCommandCode selected the first $X-of-$Y match in the section,
so /api/quota.json rendered the stale 2026-10-25 dollar read as
current: the freshest read (2026-10-27 console) is percentage-only
and never matched. Per Drew's 2026-11-01 ruling, Command Code quota
is the plan windows only (monthly limit, weekly, 5-hour) — never the
top-up credit balance.

- Segment the section at ISO date stamps and take the latest dated
  read, in the dollar format, the percentage-only console format, or
  its compact restatement.
- A newer dated segment carrying a monthly figure no format can
  parse renders no windows instead of a stale read.
- Regression tests pin latest-dated-read selection, the
  unparseable-freshest case, and balance-never-quota.
- Verified against the live quota view: monthly 69%, weekly 14%,
  5-hour 0% (the 2026-10-27 console read). Full aggregator suite
  795 pass / 0 fail.
…ard (#3410)

Codex P2 on #3413: the unparseable-fresher-read guard compared dates
only, so a later same-day unparseable monthly read did not invalidate
an earlier parseable one. Compare (date, segment index) — the same
ordering used to pick the latest read — and pin it with a test.
@dezren39
dezren39 requested a review from a team as a code owner November 1, 2026 09:05
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-01T08:10:17.674595Z 08e6438 New commits
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 35 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: fae9619a-5a80-4705-ab03-88a81c4d3287
Commits

Reviewing files that changed from the base of the PR and between 674f7ee and 08e6438.

Files selected for processing: 2
  • pm-stack/aggregator/src/quota-extract.ts
  • pm-stack/aggregator/test/quota.test.ts
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a9522f98cc

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

// windows rather than presenting the older read as current (#3410).
const stale = segments.some(
(seg) =>
seg.date > latest.date &&

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Reject stale reads when a later same-day observation is unparseable

When two observations share a date, a later unparseable monthly read does not invalidate the earlier parseable one because this comparison ignores the segment index used to break ties above. For example, a 2026-10-30 09:00 read containing monthly limit 55% used, followed by a 2026-10-30 12:00 read containing monthly limit 100 percent used, still reports 55% and a healthy pool instead of no current windows. Apply the same date/index ordering here so the fail-soft behavior also covers updates recorded on the same day.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in 08e6438: the stale-read guard now uses the same (date, segment index) ordering as latest-read selection, so a later same-day unparseable monthly read invalidates the earlier parseable one. Pinned by a new regression test ("a later same-day unparseable read also invalidates the earlier one"); quota tests 51/51 pass.

@dezren39
dezren39 merged commit f1eac95 into main Nov 1, 2026
1 check passed
@dezren39
dezren39 deleted the queue/5251-3410-commandcode-windows branch November 1, 2026 09:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Quota reads: Command Code reports plan windows, not the top-up balance (extractor renders stale read)

1 participant